package com.cmwa.scbp.business.infodisclosure.investReport.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.cmwa.scbp.base.annotation.MybatisDao;
import com.cmwa.scbp.base.mvc.entity.SearchParam;
import com.cmwa.scbp.business.infodisclosure.investReport.entity.InvestReportVo;
import com.cmwa.scbp.sys.attach.entity.AttachRelVo;
import com.cmwa.scbp.sys.attach.entity.AttachVo;

/**
 * 投资者报告表数据访问层
 * 
 * @author ex-zhengqq
 * @date 2019-01-23 13:37:22
 */
@MybatisDao
public interface InvestReportDao {

	public void insertInvestReport(InvestReportVo investReport);
	
	public void physicDeleteInvestReportById(@Param("id") String id);
	
	public void logicDeleteInvestReportById(@Param("ids") String ids);
	
	public void updateInvestReportById(InvestReportVo investReport);
	
	public InvestReportVo getInvestReportById(@Param("investRepId") String investRepId);
	
	public List<InvestReportVo> investReportListPage(SearchParam sp);
	
	void addAttachRel(List<AttachRelVo> list);
	
	List<InvestReportVo> getInvestDataAttachById(String[] id);
	
	List<InvestReportVo> getInvestFileAttachById(String[] id);
	
	List<AttachVo> getInvestAttach(@Param("investRepId") String investRepId,
			@Param("investUploadType") String investUploadType);
	
	/**
	 * 获取数据
	 * @param param
	 * @return
	 */
	public List<Map<String, String>> countReportData(SearchParam param);
	
	/**
	 * 是否有数据
	 * @param param
	 * @return
	 */
	public List<Map<String, String>> countReportSize(SearchParam param);
	
	List<InvestReportVo> getInvestByType(@Param("reportType") String reportType,@Param("reprotDateBgn") String reprotDateBgn,
			@Param("reprotDateEnd") String reprotDateEnd,@Param("empId") String empId);
}
